// ==UserScript== // @name 🔥持续更新🔥 CSDN广告完全过滤、人性化脚本优化:🆕 不用再登录了!让你体验令人惊喜的崭新CSDN。 // @namespace https://github.com/adlered // @version 4.1.7 // @description ⚡️全新4.0版本!拥有数项独家功能的最强CSDN脚本,不服比一比⚡️|🕶无需登录CSDN,获得比会员更佳的体验|🖥自定义背景图,分辨率自适配,分屏不用滚动|💾超级预优化|🔖独家超级免会员|🏷独家原创文章免登录展开|🔌独家推荐内容自由开关|📠独家免登录复制|🔗独家防外链重定向|📝独家论坛未登录自动展开文章、评论|🌵全面净化|📈沉浸阅读|🧴净化剪贴板|📕作者信息文章顶部展示 // @author Adler // @connect www.csdn.net // @include *://*.csdn.net/* // @require https://lf26-cdn-tos.bytecdntp.com/cdn/expire-1-M/jquery-cookie/1.4.1/jquery.cookie.min.js // @require https://lf26-cdn-tos.bytecdntp.com/cdn/expire-1-M/nprogress/0.2.0/nprogress.min.js // @require https://lf26-cdn-tos.bytecdntp.com/cdn/expire-1-M/clipboard.js/2.0.10/clipboard.min.js // @supportURL https://github.com/adlered/CSDNGreener/issues/new?assignees=adlered&labels=help+wanted&template=ISSUE_TEMPLATE.md&title= // @contributionURL https://doc.stackoverflow.wiki/web/#/21?page_id=138 // @grant GM_addStyle // @grant GM_setValue // @grant GM_getValue // @license AGPL-3.0-or-later // @note 23-05-10 4.1.7 增强免登录复制功能 // @note 23-04-11 4.1.6 去广告更新 // @note 23-04-06 4.1.5 新增: 跳过 CSDN 的 link 页面 // @note 23-04-04 4.1.4 增加ads标识 // @note 23-03-30 4.1.3 移除统计代码,登录问题相关优化(只屏蔽一次) // @note 23-02-03 4.1.2 修复了无法登录的问题(评论不登录无法加载暂无解决方案,我们在持续努力中) // @note 22-05-30 4.1.1 功能修复,广告屏蔽 // @note 22-01-18 4.1.0 代码折叠适配 // @note 22-01-05 4.0.9 更新广告 // @note 21-12-12 4.0.8 屏蔽学生认证 // @note 21-10-21 4.0.7 屏蔽红包雨 // @note 21-09-24 4.0.6 修复登录弹窗无法彻底去除的问题 // @note 21-09-20 4.0.5 增加自定义背景功能 // @note 21-09-13 4.0.4 增加一个没有收钱的广告(在设置里,不影响体验) // @note 21-09-01 4.0.3 增加用户使用情况统计模块 // @note 21-08-25 4.0.2 修复右侧置顶栏按钮消失的问题 // @note 21-08-21 4.0.1 去除右侧悬浮栏,优化脚本 // @note 21-08-20 4.0.0 全新4.0发布!UI美化,代码优化,兼容Firefox,更多排版模式 // @note 21-08-20 3.5.7 修复无法完整复制、保存csdn的网页会跳转首页的问题 // @note 21-08-19 3.5.6 自动隐藏底栏功能改为始终隐藏底栏 // @note 21-08-18 3.5.5 修复无法选择复制的问题 // @note 21-06-17 3.5.4 去除右侧红包悬浮窗 // @note 21-04-18 3.5.3 增加显示小店的设定 // @note 21-03-13 3.5.2 去主页广告,去文章页面推荐内容Title // @note 21-03-01 3.5.1 修改文案 // @note 21-02-06 3.5.0 修复上传资源界面标签选择消失的问题 // @note 21-01-17 3.4.9 删除文章页和论坛广告,暂时停用右侧栏滚动功能(CSDN限制) // @note 21-01-15 3.4.8 保存按钮优化,修复显示创作中心按钮功能失效的问题 // @note 21-01-15 3.4.7 改进脚本细节,增加广告屏蔽能力,修复绿化按钮错位的问题 // @note 20-12-25 3.4.6 主页部分嵌入式广告删除 // @note 20-12-18 3.4.5 修复绿化设定按钮排版不正确的问题 // @note 20-12-15 3.4.4 修复了某些子页显示不正常的问题 // @note 20-10-23 3.4.3 适应新版CSDN,去除主页和登录页广告,以及登录提示,并移除底部信息 // @note 20-10-20 3.4.2 删除右侧广告 // @note 20-09-26 3.4.1 修改排版设定,修复登录框弹出的问题 // @note 20-09-24 3.4.0 紧急修复由于CSDN前端样式修改导致设定开关丢失的问题 // @note 20-08-27 3.3.9 紧急修复由于CSDN前端样式修改导致脚本失效的问题 // @note 20-08-26 3.3.8 合法脚本提示 // @note 20-07-20 3.3.7 修复菜单栏在创作中心显示异常的问题 // @note 20-07-18 3.3.6 工具箱按钮优化 // @note 20-07-05 3.3.5 评论复制功能交互优化 // @note 20-07-04 3.3.4 修复右侧栏消失的问题 // @note 20-07-03 3.3.3 新增复制评论功能!删除顶部广告 // @note 20-06-28 3.3.2 提示修改 // @note 20-06-27 3.3.1 弹窗提示逻辑修改为仅提示一次。 // @note 20-06-27 3.3.0 网站标题新消息提醒去除 // @note 20-06-26 3.2.9 恢复GreasyFork平台脚本支持 // @note 20-06-21 3.2.0 脚本迁移通知 // @note 20-06-21 3.1.9 增加自动隐藏底栏功能 // @note 20-06-21 3.1.8 增加自动隐藏顶栏功能,修复选项窗口被点赞长条挡住的Bug,选项窗口布局修改 // @note 20-06-20 3.1.7 设置窗口大小固定,增加打赏入口 // @note 20-06-19 3.1.6 显示推荐内容按钮回归,新布局紧急修复 // @note 20-06-18 3.1.5 自定义功能更新 // @note 20-06-16 3.1.4 支持大部分功能模块化显示 // @note 20-06-14 3.1.3 绿化设定优化 // @note 20-06-14 3.1.2 ISSUE模板调整Support URL // @note 20-06-14 3.1.1 增加搜博主文章模块 // @note 20-06-13 3.1.0 修复设置过期的问题 // @note 20-06-12 3.0.9 标题回滚 // @note 20-06-12 3.0.8 主页广告删除,绿化设置仅显示在文章页面,删除页脚,顶部优化,若干细节优化 // @note 20-06-11 3.0.7 增加官方QQ交流群,增加关闭强制白色主题功能 // @note 20-06-11 3.0.6 用户名片功能优化 // @note 20-06-11 3.0.5 优化加载速度 // @note 20-06-10 3.0.4 修复设置界面遮挡的问题,显示博主头像 // @note 20-06-09 3.0.3 默认设定修改 // @note 20-06-09 3.0.2 修复推荐内容按钮刷新不生效的问题,增加工具箱提示框 // @note 20-06-08 3.0.1 设置中心推出!增加浏览效果选项 && Green Book Icon Update // @note 20-06-08 3.0.0 设置中心推出!增加浏览效果选项 // @note 20-06-07 2.4.2 设置解耦,下个版本搞配置中心 // @note 20-06-06 2.4.1 修复文章内容消失的问题 // @note 20-06-04 2.4.0 修复推荐按钮错位的问题 // @note 20-06-04 2.3.9 窄屏适配优化 // @note 20-06-04 2.3.8 黑夜模式出现问题,紧急回档到 2.3.6 // @note 20-06-03 2.3.7 感谢 @AlexLWT 增加黑暗模式 // @note 20-06-02 2.3.6 AdsByGoogle 删除 // @note 20-05-25 2.3.5 感谢 @RyanIPO 修复 Cannot read property 'replace' of undefined 报错的问题 // @note 20-05-24 2.3.4 修复免登录复制功能 // @note 20-05-22 2.3.3 Logo与背景同步 // @note 20-05-22 2.3.2 深度删除背景 // @note 20-05-20 2.3.1 通过require使用NProgress // @note 20-05-20 2.3.0 显示推荐内容按钮样式内置,剔除CDN // @note 20-05-17 2.2.9 进度条样式更新,时间延时优化 // @note 20-05-17 2.2.8 更新脚本描述,展开评论的所有回复,删除创作中心按钮,加载进度条 // @note 20-05-17 2.2.7 更新脚本描述 // @note 20-05-16 2.2.6 修复第一次点击显示推荐内容无反应的问题 // @note 20-05-16 2.2.5 删除抢沙发角标,修改显示推荐内容按钮样式 // @note 20-05-16 2.2.4 感谢来自GitHub的朋友“HeronZhang”的Issue建议,删除所有博客花里胡哨的背景,主页分类中广告清除,CSS样式控制宽度适配代码优化 // @note 20-05-16 2.2.3 感谢来自GitHub的朋友“RetiredWorld”的代码贡献,使用CSS来控制样式,而不是JS,增大灵活性。 // @note 20-05-13 2.2.2 屏蔽您的缩放不是100%的提示 // @note 20-04-29 2.2.1 感谢大家的支持,增加目录显示,自动判断是否存在目录调整页面宽度,屏蔽新增广告,欢迎大家体验并提出意见! // @note 20-04-15 2.2.0 一些广告被其他插件屏蔽导致的异常无视之 // @note 20-03-30 2.1.9 干掉“记录你的创作历程”,干掉未登录情况下的角标提醒 // @note 20-03-13 2.1.8 窄屏适配加强 // @note 20-03-13 2.1.7 更新简介 // @note 20-03-12 2.1.6 宽度自适应(感谢来自GitHub的朋友LeonG7的建议)!修复剪贴板净化无效的问题。 // @note 20-03-04 2.1.5 适配AdGuard // @note 20-02-27 2.1.4 优化免登录复制 // @note 20-02-25 2.1.3 免登录复制更新,现已可用 // @note 20-02-24 2.1.2 By Github@JalinWang 更改去除剪贴板劫持的方式,使得原文格式在复制时能够保留 // @note 20-02-22 2.1.1 紧急修复由于 CSDN 修改前端结构导致的文章错位 // @note 20-02-11 2.1.0 若干动画优化,视觉体验更流畅 // @note 20-02-06 2.0.9 武汉加油!修改推荐内容切换开关位置,减少违和感 // @note 20-01-17 2.0.8 去除右侧广告 // @note 20-01-17 2.0.7 感谢来自GitHub的朋友“gleans”的建议,去掉页头广告 // @note 19-12-12 2.0.6 感谢来自GitHub的朋友“yexuesong”的建议,将作者信息在文章顶部展示 // @note 19-10-30 2.0.5 美化隐藏按钮,增加点击动画 // @note 19-10-30 2.0.4 删除CSDN官方在主页推送的文章(大多是广告) // @note 19-10-30 2.0.3 添加更多屏蔽脚本 // @note 19-10-30 2.0.0 祝自己生日快乐~完全重写CSDNGreener,统一使用JQuery,效率更高 // @note 19-10-27 1.5.2 删除分享海报提示&&感谢GitHub的朋友“CHN-STUDENT”的反馈,去除底部课程推荐 // @note 19-10-27 1.5.1 感谢来自GitHub的朋友“CHN-STUDENT”的细致复现反馈,去除了底部的课程推荐广告 // @note 19-10-04 1.5.0 移除了底部主题信息和打赏 // @note 19-09-10 1.4.9 感谢来自GitHub的朋友“programmerZe”的细致复现反馈,修复了评论区点击查看回复后,已经展开的评论会收起的问题 // @note 19-09-04 1.4.8 感谢来自GitHub的朋友“dwdcth”的细致复现反馈,现在查看原创文章不会无限弹登录窗口了,且加强了自动展开功能 // @note 19-08-20 1.4.7 感谢油叉用户“SupremeSir”的反馈,修复了右侧悬浮栏遮挡文章的问题 // @note 19-08-14 1.4.6 无语。刚更新的免登录复制,又改了。修复! // @note 19-08-13 1.4.5 更新了独家功能:免登录复制 // @note 19-08-13 1.4.4 感谢来自GitHub的朋友“iamsunxing”的反馈,修复了顶部不贴边的问题 // @note 19-08-01 1.4.3 感谢油叉用户“ddddy”的反馈,去除了更多推广广告 // @note 19-07-30 1.4.2 感谢油叉用户“周义杰”的反馈,增加了防CSDN外链重定向的功能(CSDN臭流氓) // @note 19-07-20 1.4.1 修复了推荐内容开关跨文章无效问题(忘了配置Cookie作用域) // @note 19-07-19 1.4.0 1. 构架大更新 2. 感谢来自GitHub的朋友"lukemin"的反馈,加入了下方推荐内容是否隐藏开关(实用) // @note 19-07-13 1.3.0 感谢来自GitHub的朋友“Holaplace”的反馈,修复了文章无法自动展开的问题(CSDN总改这个,令人头疼) // @note 19-06-08 1.2.6 感谢油叉用户“DeskyAki”的反馈,修复了文章无法自动展开的问题 // @note 19-06-07 1.2.4 修复了登录后评论无法正常打开的问题 // @note 19-06-07 1.2.3 感谢油叉用户"永远的殿下"的反馈,在一上午的努力攻克下,终于实现了未登录展开评论的语句 // @note 19-06-05 1.2.0 修复了评论无法自动展开的BUG // @note 19-06-04 1.1.9 修复了无法自动展开的BUG(自闭了) // @note 19-06-04 1.1.6 CSDN太坏了,把“消息”按钮的Class设置成了“GitChat”,所以修复了“消息”按钮消失的问题 // @note 19-06-04 1.1.5 1. 优化了论坛体验 2.美化、优化代码结构 // @note 19-06-04 1.1.4 感谢来自GitHub的朋友“iamsunxing”的反馈,增加了论坛广告匹配规则 // @note 19-06-03 1.1.3 感谢来自GitHub的朋友“wangwei135”的反馈,去除了评论区上方的广告 // @note 19-05-27 1.1.2 感谢油叉用户“夏伟杰”的反馈,修复了富文本编辑器无法使用的问题 // @note 19-05-25 1.1.0 1. 修复了主页广告的问题 2. 论坛自动展开 3. 论坛广告消除 // @note 19-05-25 1.0.9 感谢油叉用户“渣渣不准说话”的反馈,修复了收藏按钮消失的问题 // @note 19-03-01 1.0.3 添加页面选择性过滤规则 // @note 19-03-01 1.0.2 增加了净化剪贴板功能 // @note 19-03-01 1.0.1 修复了排版问题, 优化了代码结构 // @note 19-02-26 1.0.0 初版发布 // ==/UserScript== var version = "4.1.7"; var currentURL = window.location.href; if (currentURL.indexOf("?") !== -1) { currentURL = currentURL.substring(0, currentURL.indexOf("?")); } var list; var windowTop = 0; var startTimeMilli = Date.now(); var stopTimeMilli = 0; // 配置控制类 class Config { get(key, value) { var cookie = $.cookie(key); if (cookie == undefined) { new Config().set(key, value); console.debug("Renew key: " + key + " : " + value); return value; } console.debug("Read key: " + key + " : " + cookie); if (cookie === "true") { return true; } if (cookie === "false") { return false; } return cookie; } getS(key, value) { var cookie = $.cookie(key); if (cookie == undefined) { new Config().set(key, value); console.debug("Renew key: " + key + " : " + value); return value; } console.debug("Read key: " + key + " : " + cookie); return cookie; } set(setKey, setValue) { $.cookie(setKey, setValue, { path: '/', expires: 365 }); console.debug("Key set: " + setKey + " : " + setValue); } listenButton(element, listenKey, trueAction, falseAction) { $(element).click(function () { let status = new Config().get(listenKey, true); console.debug("Status: " + status); if (status === "true" || status) { console.debug("Key set: " + listenKey + " :: " + false); new Config().set(listenKey, false); } else { console.debug("Key set: " + listenKey + " :: " + true); new Config().set(listenKey, true); } }); } listenButtonAndAction(element, listenKey, trueAction, falseAction) { $(element).click(function () { let status = new Config().get(listenKey, true); console.debug("Status: " + status); if (status === "true" || status) { console.debug("Key set: " + listenKey + " :: " + false); new Config().set(listenKey, false); falseAction(); } else { console.debug("Key set: " + listenKey + " :: " + true); new Config().set(listenKey, true); trueAction(); } }); } } var config = new Config(); var progress = 0; class Progress { init() { progress = 0; NProgress.start(); $("#greenerProgress").text("绿化中..."); $(".toolbar-search").hide(); } setProgress(p) { progress = p; $("#greenerProgress").text(progress + "%"); NProgress.set(progress / 100); console.log(progress + "%"); } incProgress(p) { progress = progress + p; progress = progress > 100 ? 100 : progress; $("#greenerProgress").text(progress + "%"); NProgress.set(progress / 100); console.log(progress + "%"); } done() { progress = 100; NProgress.done(); $("#greenerProgress").html(protect_svg + ' CSDNGreener 正在守护您的浏览体验'); setTimeout(function() { $("#greenerProgress").fadeOut(500); setTimeout(function() { $(".toolbar-search").fadeIn(500); if (!isFirefox()) { // 提示 let tipsCookie = config.get("showTip", true); if (tipsCookie) { showTips(); } config.set("showTip", false); } }, 500); }, 1500); } } var progressor = new Progress(); // 自定义 CSS // 进度条 $('head').append(""); // 设置窗口 $('head').append(""); // 提示条 $('head').append(""); // 按钮(旧) $('head').append(""); // 保存按钮 $('head').append(""); // Star 样式 $('head').append(""); // 设置窗口文字效果 if (isFirefox()) { $('head').append(""); } else { $('head').append(""); } // SVG //var save_svg = ''; var star_svg_1 = ''; var star_svg_2 = ' '; var star_svg_3 = ' '; var star_svg_4 = ' '; var star_svg = star_svg_1 + star_svg_2 + star_svg_3 + star_svg_4; var donate_svg = ''; var set_svg = ''; var save_svg = ''; var settings_svg = ''; var protect_svg = ''; // jquery.showtips.js (function(jQuery) { jQuery.fn.showTips = function(options,elem){ var config = { skin:"trips", content:$(this).attr("tips")||"弹出类型的气泡提示!", //气泡提示内容里面可以是HTML,默认显示自定义的提示内容 width:"auto", //默认为auto,可以写具体尺寸如:200 alignTo:["right","center"], //箭头方向 color:["rgb(247, 206, 57)","#FFFEF4"], //这里是提示层的风格,第一个参数为提示边框颜色,第二个参数为提示背景颜色 type:"html", //显示内容类型 trigger:"click", //默认为点击显示,show为初始化就显示,hover为经过显示,focus焦点显示,mouse跟随鼠标显示隐藏 spacing:10, //默认为箭头距离对象的尺寸 customid:"", //自定义ID isclose:false, //是否显示关闭按钮 success : null //成功后的回调函数 }; var opts = jQuery.extend(config, options); return this.each(function(){ var that = jQuery(this),tipBox,tipId,selfH,selfW,conId,docW, spa = opts.spacing, skin=opts.skin; var Mathrandom = Math.floor(Math.random() * 9999999); var pmr = (opts.customid=="") ? Mathrandom :opts.customid.replace(/[#.]/, ""); var pointer=opts.alignTo.length===1 ? ''+opts.alignTo[0]+'' : ''+opts.alignTo[0]+'-'+opts.alignTo[1]+''; if(typeof elem == 'string') { if(elem =="show"){ jQuery('#tip'+pmr).show(); jQuery("#con"+pmr).html(opts.content); showPosition(pointer,jQuery('#tip'+pmr)); }; if(elem =="hide"){jQuery('#tip'+pmr).hide()}; }; if(typeof elem == '' || typeof elem == undefined){return true}; if(jQuery('#tip'+pmr).length==1){return false;} tipBox=jQuery('
CSDNGreener V' + version + ' ' + settings_svg + '
'; configHTML += '根据屏幕尺寸,适配版式
建议逐个尝试后选择适合你的版式,屏幕过小或者版式选择不正确右侧栏可能没有空间显示,导致侧栏定制无效(请尝试调节浏览器缩放,快捷键 Ctrl+鼠标滚轮)。
'; configHTML += ''; configHTML += ''; configHTML += ''; configHTML += ''; configHTML += '通用设定
'; configHTML += '自定义背景图:
'; configHTML += ' '; configHTML += '右侧栏定制
'; configHTML += ' '; configHTML += '特别提示:CSDNGreener 脚本不提供任何会员文章破解、会员资源下载功能,仅适用于前端优化,请在CSDN官方渠道购买CSDN会员体验付费功能。
'; configHTML += '显示推荐内容
'); let recommendCookie = config.get("recommend", false); if (!recommendCookie) { $(".recommend-box").hide(); } if (recommendCookie) { $("#toggle-recommend-button").prop("checked", true); $("#toggle-button").prop("checked", true); } else { $("#toggle-recommend-button").prop("checked", false); $("#toggle-button").prop("checked", false); } config.listenButton("#toggle-recommend-button", "recommend", function() {$(".recommend-box").slideDown(200);}, function() {$(".recommend-box").slideUp(200);}); config.listenButtonAndAction("#toggle-button", "recommend", function() {$(".recommend-box").slideDown(200);}, function() {$(".recommend-box").slideUp(200);}); // 显示小店 let shopCookie = config.get('shop',false); if(!shopCookie){ $("#csdn-shop-window").hide(); $("#csdn-shop-window-top").hide(); } if (shopCookie) { $("#toggle-shop-button").prop("checked", true); } else { $("#toggle-shop-button").prop("checked", false); } config.listenButton("#toggle-shop-button", "shop", function() {location.reload();}, function() {location.reload();}); // 侧栏小广告 let adCookie = config.get("ad", true); if (adCookie) { setTimeout(function() { // $("#recommend-right").append('29元每月!CTGNet GIA 回程五网高端CN2 GIA/GT网络,支持VPC高级网络
拒绝绕路,拒绝不稳定,助力企业拓展全球业务
安全,稳定,高性能